The GNU 64-bit PL8 compiler: Toward an open standard environment for firmware development
نویسندگان
چکیده
For two decades, large parts of zSeries firmware have been written in the PL8 programming language. The existence of a large amount of mature zSeries firmware source code and our excellent experience with PL8 for system programming suggest keeping this language. However, the firmware address space of today s zSeries servers may exceed 2 GB, raising the need for a new 64-bit PL8 compiler, since the original implementation, developed at the IBM Thomas J. Watson Research Center, Yorktown Heights, New York, supports only 32-bit platforms. The GNU compiler collection (GCC) (GNU is a freeware UNIX -like operating system) has been used to translate those parts of firmware written in C for some years and has also proved successful in compiling Linux for zSeries. This fact, combined with the highly modular GCC design, suggested reimplementing PL8 within the GCC framework. In this paper, we report on the extension of PL8 to support 64-bit addressing, its implementation as a GCC front end, and the validation of the new compiler. We also evaluate PL8 as a language for highly reliable low-level programming and give some performance data. The paper documents the high level of quality achieved by the GCC open-source project and how such software fits into the traditional IBM software development processes.
منابع مشابه
Open-standard development environment for IBM System z9 host firmware
When the PL8 64-bit GNU compiler collection front end was introduced with the IBM z990 system, it laid the foundation to move toward an open-standard development environment for the i390 layer of IBM System ze host firmware. However, when the z990 system was developed, the proprietary project development library system and the table of contents object file format for i390 code were still being ...
متن کاملPorting to 64-bit GNU/Linux Systems
More and more 64-bit systems are showing up on the market—and developers are porting their applications to these systems. Most code runs directly without problems—but there is a number of sometimes quite subtile problems that developers have to be aware of for portable programming and porting. This paper illustrates some problems on porting an application to 64-bit and also shows how use a 64-b...
متن کاملDevelopment of a System for Teaching C/C++ Using Robots and Open Source Software in a CS1 Course
This paper describes the development of a system for teaching C/C++ using LegoTM RCX Robots in a CS1 college course on introductory programming. The system has been implemented using an integrated development environment (IDE) developed by the open source community (Code::Blocks). We have modified the IDE so that it can call a C/C++ cross-compiler for the RCX whose standard firmware has been re...
متن کاملA Compact Intermediate Format for SIMICS
Instruction set architecture (ISA) simulators are an increasingly popular class of tools for both research and commercial purposes. Common applications include trace generation, program development, and compatibility support. A major concern with ISA simulators is performance and memory overhead. A common technique for achieving good performance is to use threaded code, which involves translati...
متن کاملNTL vs FLINT
All tests were carried out on a very lightly loaded machine with a 64-bit Intel “Haswell” CPU (Intel Xeon CPU E5-2698 v3 at 2.30GHz) with plenty of memory (over 250GB). The operating system was Cent OS. The compiler was gcc v4.8.5. We compared NTL v9.9.1 with FLINT v2.5.2. These were both built using GMP v6.1.0. All of these were the most recent releases of these packages at the time we carried...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IBM Journal of Research and Development
دوره 48 شماره
صفحات -
تاریخ انتشار 2004